Wire EDM taper cutting method using path data of two planes of a workpiece

ABSTRACT

A wire electric discharge machining method for cutting a workpiece (WK) by moving a wire electrode (WR) relative to the workpiece and producing an electric discharge across the wire electrode and workpiece, the method including preparing and entering path data specifying contours to be cut on upper (APL) and lower (BPL) planes of the workpiece, separately preparing and entering such auxiliary data as an amount of wire diameter compensation, workpiece mounting position and guide positions necessary for moving the wire electrode (WR) relative to the workpiece (WK), obtaining relative path data between the workpiece and an upper guide (UG) tensioning the wire electrode as well as relative path data between the workpiece and a lower guide (DG) tensioning the wire electrode by using the path data and the auxiliary data, and taper cutting contours commanded on the upper and lower planes of the workpiece by moving the upper and lower guides relative to the workpiece using both path data.

TECHNICAL FIELD

This invention relates to a wire electric discharge machining methodand, more particularly, to a wire electric discharge machining methodfor subjecting a workpiece to taper cutting by directly programming thecut contour of the upper and lower surfaces of the workpiece.

BACKGROUND ART

As is well-known in the art, a wire-cut electric discharge machine has awire electrode stretched between an upper guide and a lower guide andmachines a workpiece by producing an electrical discharge between thewire electrode and the workpiece. The workpiece, secured to a table, istransported in X and Y directions along a machining contour in responseto commands from a numerical control apparatus. When the wire electrodeis tensioned normal to the table (workpiece), the upper and lowersurfaces of the workpiece will be machined into contours which areidentical. If the arrangement is such that the upper guide can bedisplaced in the X and Y directions (referred to as the U and V axes) toincline the wire electrode with respect to the workpiece as bydisplacing the upper guide in a direction at right angles to thedirection of workpiece movement, then the upper and lower surfaces ofthe workpiece will not be cut to the same contour, and the surface cutby the wire electrode will be inclined. This is so-called taper cutting.

FIG. 1 is a view for explaining such taper cutting, in which a wireelectrode WR is stretched between an upper guide UG and a lower guide DGat a predetermined angle of inclination with respect to a workpiece WK.If we take the lower plane BPL of the workpiece WK as the programmedplane (the upper plane APL of the workpiece WK may also serve as theprogrammed plane), and if we let a denote the taper angle, H thedistance between the upper guide UG and lower guide DG, and h thedistance from the lower guide DG to the lower plane BPL of the workpieceWK, then the offset d₁ of the lower guide DG and the offset d₂ of theupper guide UG with respect to the lower plane BPL of the workpiece, maybe expressed as follows: ##EQU1## Note that d is the cut width.

Accordingly, if the movement of the upper guide UG between which thewire electrode WR is stretched is so controlled in relation to workpiecemovement that the offsets d₁, d₂ remain constant, then taper cutting atthe taper angle a can be carried out, as shown in FIG. 2. The dashedline and one-dot chain line in FIG. 2 indicate the paths of the upperand lower guides UG, DG, respectively.

In performing taper cutting with such a wire-cut electric dischargemachine, a programmed path in the upper or lower plane of the workpiece,feedrate on the programmed path, taper angle a and distances H, h, etc.,are commanded as set forth above and cutting is carried out in themanner commanded. According to this method, taper cutting can be carriedout through simple control if the taper angle is constant.

With the foregoing method, however, it is difficult to perform cuttingof the type in which the taper angle changes in continuous fashion. Forexample, cutting in accordance with the conventional method is difficultif the centers of circular arcs C_(u), C_(d) (cut contours) on the upperand lower planes of a workpiece do not agree, as shown in FIG. 3, if thepositions of rectangles R_(u), R_(d) (cut contours) on the upper andlower planes of a workpiece are skewed with respect to each other, asshown in FIG. 4, or if the contours to be cut on the upper and lowerplanes of a workpiece differ.

SUMMARY OF THE INVENTION

Accordingly, an object of the present invention is to provide a wireelectric discharge machining method through which taper cutting can besimply performed even for a contour having a continuously changing taperangle, and even if the contours cut on the upper and lower planes of aworkpiece differ.

Another object of the present invention is to provide a wire electricdischarge machining method capable of forming NC data from path dataspecifying contours to be cut on the upper and lower planes of aworkpiece.

A further object of the present invention is to provide a wire electricdischarge machining method wherein NC data need not be recreated evenwhen there is a change in a workpiece mounting position, a guideposition or an amount of wire diameter compensation.

The present invention provides a wire electric discharge machiningmethod for cutting a workpiece by moving a wire electrode relative tothe workpiece and producing an electric discharge across the wireelectrode and workpiece. According to the present invention, the methodincludes preparing and entering path data specifying contours to be cuton upper and lower planes of a workpiece, separately preparing andentering such auxiliary data as an amount of wire diameter compensation,workpiece mounting position and guide positions necessary for moving thewire electrode relative to the workpiece, obtaining relative path databetween the workpiece and an upper guide tensioning the wire electrodeas well as relative path data between the workpiece and a lower guidetensioning the wire electrode by using the path data and the auxiliarydata, and taper cutting contours commanded on the upper and lower planesof the workpiece by moving the upper and lower guides relative to theworkpiece using both path data.

BRIEF DESCRIPTION OF THE DRAWINGS

FIGS. 1 ahd 2 are views for describing a conventional taper cuttingmethod;

FIGS. 3 and 4 are cut contour views for describing the drawbacks of theprior art;

FIG. 5 is a block diagram for practicing a first wire electric dischargemachining method according to the present invention;

FIG. 6 is a flowchart of processing associated with the method,

FIG. 7 is a view for describing auxiliary data;

FIGS. 8 through 12 are views for describing programming methods;

FIG. 13 is a view for describing offset processing;

FIG. 14 is a view for describing an inconvenience of the first wireelectric discharge machining method;

FIG. 15 is a flowchart of processing associated with a second wireelectric discharge machining method; and

FIG. 16 is a view for describing an inconvenience of a third wireelectric discharge machining method.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

FIG. 5 is a block diagram for practicing a first wire electric dischargemachining method according to the present invention, FIG. 6 is aflowchart of processing associated with the method, FIG. 7 is a view fordescribing auxiliary data, and FIGS. 8 through 12 are views fordescribing programming methods.

Path data (NC data) specifying the cut contours on the upper and lowerplanes of a workpiece are recorded beforehand on an NC tape 101. The NCdata are created in accordance with rules set forth below. It should benoted that there are cases where the upper and lower planes of theworkpiece are referred to as programmed planes and programmed auxiliaryplanes. Either the programmed plane or programmed auxiliary plane maythe upper plane of the workpiece.

(1) NC data for setting coordinate system

G92XxYyIi;

The foregoing NC data are for setting a coordinate system. Thecoordinate system setting is commanded by the G-function instruction"G92", the present position of the wire electrode WR on the programmedplane BPL (FIG. 8) is commanded by the numerical values x, y that followthe respective word addresses "X", "Y", and the distance between theprogrammed plane and the programmed auxiliary plane (namely thethickness of the workpiece) is commanded by the numerical value ifollowing the word address "I". Note that i shall be positive if theprogrammed auxiliary plane is the upper plane as seen from theprogrammed plane, and negative if the programmed auxiliary plane is thelower plane. The position of the wire electrode on the programmedauxiliary plane is calculated automatically from the inclination of thewire electrode and therefore need not be commanded.

(2) NC data for linear motion

G01XxYyUuVv;

In a case where the wire electrode paths (cut contours) on theprogrammed plane BPL and programmed auxiliary plane APL are LN, LN',respectively, as shown in FIG. 9, the paths are specified by the linearmotion G-function instruction "G01" and the numerical values x, y, u, vthat follow the word addresses "X", "Y", "U", "V", respectively. Thevalues of x, y specifying the path LN on the programmed plane BPL areincremental quantities along the respective axes from a starting pointP_(s) to an end point P_(e) of the path on the programmed plane. Thevalues of u, v specifying the path LN' on the programmed auxiliary planeAPL are deviation quantities along the respective axes between the pathend point P_(e) on the programmed plane BPL and a path end point P_(e) 'on the programmed auxiliary plane (a deviation quantity in the directionof workpiece thickness is not considered).

(3) NC data for arcuate motion

G02XxYyIiJjUuVvKkLl; . . . clockwise

G03XxYyIiJjUuVvKkLl; . . . counter-clockwise

In a case where the wire electrode paths on the programmed plane andprogrammed auxiliary plane are circular arcs ARB, ARA, respectively, asshown in FIG. 10, the paths are specified by the arcuate motionG-function instruction "G02" (clockwise) or "G03" (counter-clockwise)and the numerical values that follow the word addresses "X", "Y", "I","J", "U", "V", "K", 37 L" respectively. The numerical values x, yfollowing the word addresses "X", "Y" indicate incremental values alongthe respective axes from an arc starting point P_(s) to an arc end pointP_(e) on the programmed plane, and the numerical values i, j followingthe word addresses "I", "J" indicate incremental values along therespective axes from the arc starting point P_(s) to the center P_(c) ofthe arc. The numerical values u, v following the word addresses "U","V", respectively, are deviation quantities along the respective axesbetween the circular arc end point P_(e) on the programmed plane and acircular arc end point P_(e) ' on the programmed auxiliary plane (adeviation quantity in the direction of workpiece thickness is notconsidered). The numerical values k, 1 following the word addresses "K","L", respectively, are deviation quantities along the respective axesbetween the center P_(c) of the circular arc on the programmed plane andthe center P_(c) ' of the circular arc on the programmed auxiliaryplane.

The following are examples of NC data shown in FIGS. 11 and 12, in whichWR denotes the wire electrode, and WK the workpiece. In each Figure (A)shows a plan view and (B) a front view.

Example of NC data in FIG. 11 (where the workpiece thickness is 50 mm,the programmed plane is the lower plane of the workpiece, and the wireelectrode travels in the direction of the arrow from a point S):

G92X-30.0I50.0;

G41G01X10.0U5.0;

G02I20.0K-5.0;

G40G01X-10.0U0;

M02;

Example of NC data in FIG. 12 (where the workpiece thickness is 50 mm,the programmed plane is the upper plane of the workpiece, and the wireelectrode travels in the direction of the arrow from a point S):

G92X2.5Y5.01-50.0;

G42G01Y5.0V7.5;

X7.5U10.0V5.0;

Y-20.0U5.0V-10.0;

X-20.0U-10.0V-5.0;

Y20.0U-5.0V10.0;

X12.5U0V7.5;

G40Y-5.0V0;

M02;

In the above NC data, "G41", "G42" represent the direction of wirediameter compensation, "G40" indicates cancellation of wire diametercompensation, and "M02" denotes the end of the program.

Let us now return to FIG. 5 to describe the method of the presentinvention.

(a) First, auxiliary data is entered from a manual data input unit(abbreviated to "MDI unit") 102. The auxiliary data include, withreference to FIG. 7, vertical distance H from the lower guide DG to theupper guide UG, vertical distance h from the lower guide DG to theprogrammed plane (lower plane of workpiece) BPL, vertical distance tfrom the programmed plane to a velocity control plane VCP, wire diametercompensation quantity D, travelling velocity f on the velocity controlplane, and the like, these being entered from the MDI unit. Machiningvelocity f and distance t may entered from the NC tape 1. Also, ratherthan commanding the travelling velocity directly, so-called servofeedmay be adopted wherein travelling velocity is commanded by a machiningpower supply.

The data entered from the MDI unit 102 are read and stored in a RAM 105by a processor 104 under the control of a control program stored in aROM 103.

(b) Next, a start key, not shown, on an operator's panel 106 is pressed,whereupon the processor 104 starts a tape reader 107 to read two itemsof NC data, namely data of a current block and data of the next block,and store the data in the RAM 105.

(c) Thereafter, the processor 104, under the control of the controlprogram, obtains an offset path on the programmed plane and on theprogrammed auxiliary plane by using the wire diameter compensationquantity D, which has been stored in the RAM 105, the data indicative ofwire diameter compensation direction, which are contained in the NCdata, and the path data in the current and next blocks.

FIG. 13 is a view for describing offset path calculation. Assuming thata programmed path comprises two straight lines L₁, L₂, as shown in FIG.13, wire diameter compensation is carried out through a sequence ofprereading a move command in a current block b₁ and a move command inthe next block b₂, obtaining a straight line L₁ ' by offsetting thestraight line L₁ in the current block b₁ by the wire diametercompensation quantity D as well as a straight line L₂ ' by offsettingthe straight line L₂ of the next block b₂ by the wire diametercompensation quantity, and computing the coordinate values of the pointS₁ at which the straight lines L₁ ' and L₂ ' intersect. When this hasbeen accomplished, the path connecting the end point S₀ of the precedingblock and the point S₁ will be the offset path.

(d) At the end of offset processing, the processor calculatesincremental quantities (X_(w1), Y_(w1)), (X_(w2), Y_(w2)) along therespective axes on the programmed plane and programmed auxiliary planeif the current block calls for linear motion, or calculates incrementalquantities from circular arc end points to circular arc starting pointsand to centers of the circular arcs on the programmed plane andprogrammed auxiliary plane if the current block calls for arcuatemotion. If the current block calls for linear cutting and an incrementalquantity

G01XxYyUuVv;

is commanded, then the processor 104 obtains incremental quantitiesalong the respective axes in accordance with the equations ##EQU2## andstores these quantities in the RAM 105. [Since offset processing isbeing executed, the incremental quantities along the respective axesnaturally will be slightly different from (3). To simplify thediscussion, however, the description is based on the assumption that theaxial incremental quantities are expressed by the equations (3)].

(e) Next, the processor 104 calculates, and stores in the RAM 105,incremental quantities X_(f), Y_(f) on the velocity control plane,incremental quantities X_(d), Y_(d) for the lower guide, and incrementalquantities X_(u), Y_(u) for the upper guide in accordance with thefollowing equations:

    X.sub.f =X.sub.w1 +u·(t/T)                        (4a)

    X.sub.f =Y.sub.w1 +v·(t/T)                        (4b)

    X.sub.d =X.sub.w1 -u·(h/T)                        (4c)

    Y.sub.d =Y.sub.w1 -v·(h/T)                        (4d)

    X.sub.u =X.sub.w1 +u·(H-h)/T                      (4e)

    Y.sub.u =Y.sub.w1 +V·(H-h)/T                      (4f)

(f) At the end of the calculations in accordance with Eqs. (4a) through(4f), the processor 104 calculates, and stores in the RAM 105, thetravelling distances L_(d), L_(u), L_(f) on the lower guide plane, upperguide plane and velocity control plane, respectively: ##EQU3##

Thereafter, it is permissible to find the travelling velocities f_(d),f_(u) of the lower and upper guides from

    f.sub.d =f·L.sub.d /L.sub.f                       (6a)

    f.sub.u =f·L.sub.u /L.sub.f                       (6b)

perform interpolation calculations along two axes simultaneously usingthe incremental quantities X_(d), Y_(d) for the lower guide obtained inaccordance with (4c) and (4d), concurrently perform interpolationcalculations along two axes simultaneously using the incrementalquantities X_(u), Y_(u) for the upper guide obtained in accordance with(4e) and (4f), and move the upper and lower guides relative to theworkpiece in response to pulses obtained through each of theinterpolation calculations. However, in the illustrated embodiment, themethod adopted in the following steps (g) through (i) includes findingtravel quantities Δx_(d) ', Δy_(d) ', Δx_(u) ', Δy_(u) ' for moving thelower and upper guides along the respective axes in a time period ΔTpreset as a parameter, applying Δx_(d) ', Δy_(d) ', Δx_(u) ', Δy_(u) 'to a pulse interpolator every ΔT seconds, and causing the pulseinterpolator to distribute these quantities smoothly in the form ofpulses along the respective axes independently to move the upper andlower guides relative to the workpiece.

(g) After calculating the travelling distances in accordance with Eqs.(5a) through (5c), the processor 104 obtains a shift quantity snecessary for shifting the most significant bit of the largest valueamong L_(d), L_(u), L_(f) to the most significant digit (MSD) of anm-bit register, and stores the shift quantity in the RAM 105. Note thatm is the number of bits of a general purpose register in the processor104.

(h) Next, an addition frequency f_(n) of a DDA interpolation calculationperformed in the time period ΔT is calculated in accordance with theequations

    f.sub.n =ΔT·f·K.sub.f              (7)

    K.sub.f =2.sup.m /(L.sub.f ·2.sup.s)              (8)

and this is stored in the RAM 105. Eq. (7) is derived in the followingmanner:

The incremental quantities X_(d), Y_(d) ; X_(u), Y_(u) for the lower andupper guides are each multiplied s times (s-bit shift), these are thenstored in the m-bit register, and a two-axis simultaneous DDAinterpolation calculation is performed at the respective adding ratesfn₁, fn₂ (times/second). By doing so, the respective travel quantitiesΔx_(d), Δy_(d) for moving the lower guide in one second of time take onthe form

    Δx.sub.d =X.sub.d ·2.sup.s ·f.sub.n1 /2.sup.m (9a)

    Δy.sub.d =Y.sub.d ·2.sup.s ·f.sub.n1 /2.sup.m (9b)

and the respective travel quantities Δx_(u), ΔY_(u) for moving the upperguide in one second of time take on the form

    Δx.sub.u =X.sub.u ·2.sup.s f.sub.n2 /2.sup.m (9c)

    Δy.sub.u =Y.sub.u ·2.sup.s f.sub.n2 /2.sup.m (9d)

Accordingly, the velocities f_(d), f_(u) of the lower and upper guidesmay be written as follows:

    f.sub.d =(L.sub.d ·2.sup.s /2.sup.m)·f.sub.n1 (10a)

    f.sub.u =(L.sub.u ·2.sup.s /2.sup.m)·f.sub.n2 (10b)

Since the following relations will hold:

    f.sub.d /f=L.sub.d /L.sub.f, f.sub.u /f=L.sub.u /L.sub.f   (11)

the following will hold true from Eqs. (10l ), (10b), (11):

    fn.sub.1 =(2.sup.m /Ld·2.sup.s)·f.sub.d =(2.sup.m L.sub.f ·2.sup.s)·f                             (12a)

    fn.sub.2 =(2.sup.m /Lu·2.sup.s)·f.sub.u =(2.sup.m /L.sub.f ·2.sup.s)·f                    (12b)

Since Eqs. (12a), (12b) each represent the frequency of additions perminute, the frequency f_(n) in the period of time ΔT may be written

    f.sub.n =(2.sup.m /L.sub.f ·2.sup.s)·f·ΔT

Letting K_(f) =2^(m) /L_(f) ·2^(s), we arrive at Eq. (7). Note thatK_(f) is calculated prior to the interpolation calculations.

(i) After the calculation of the addition frequency f_(n), the travelquantities Δx_(d) ', Δy_(d) ', Δx_(u) ', Δy_(u) ' for the upper andlower guides during the period of time ΔT are calculated from theequations

    Δx.sub.d '=X.sub.d ·2.sup.s ·f.sub.n /2.sup.m (13a)

    Δy.sub.d '=Y.sub.d ·2.sup.s ·f.sub.n /2.sup.m (13b)

    Δx.sub.u '=X.sub.u ·2.sup.s ·f.sub.n /2.sup.m (13c)

    Δy.sub.u '=Y.sub.u ·2.sup.s ·f.sub.n /2.sup.m (13d)

(j) When the travel quantities Δx_(d) ', ΔY_(d) ', Δx_(u) ', ΔY_(u) 'for the lower and upper guides during the period of time ΔT have beencalculated from the equations (13a) through (13d), the processor 104applies these to a pulse interpolator 108. On the basis of the travelquantities input thereto, the pulse interpolator 108 performs a pulseinterpolation calculation for smoothly distributing pulses independentlyalong the respective axes during the period of time ΔT. Interpolatedpulses P_(dx), P_(dy), P_(ux), P_(uy) obtained as a result of the pulseinterpolation calculation are applied to respective servo circuits 109through 112, whereby the upper and lower guides are moved relative tothe workpiece. With each passage of the period of time ΔT, thecalculations of steps (h), (i) are performed and the followingoperations are executed to update present positions x_(ad), y_(ad),x_(au), y_(au) stored in the RAM 105:

    x.sub.ad +Δx.sub.d '→x.sub.ad                 (14a)

    y.sub.ad +Δy.sub.d '→y.sub.ad                 (14b)

    x.sub.au +Δx.sub.u '→x.sub.au                 (14c)

    y.sub.au +Δy.sub.u '→y.sub.au                 (14d)

The processor also performs the operations

    x.sub.rd -Δx.sub.d '→x.sub.rd                 (15a)

    y.sub.rd -Δy.sub.d '→y.sub.rd                 (15b)

    x.sub.ru -Δx.sub.u '→x.sub.ru                 (15c)

    y.sub.ru -Δy.sub.u '→y.sub.ru                 (15d)

to update quantities x_(rd), y_(rd), x_(ru), y_(ru) indicative ofdistances remaining to be travelled, which are stored in the RAM 105.The inital values of the remaining travel quantities x_(rd), y_(rd),x_(ru), y_(ru) are the incremental quantities X_(d), Y_(d), X_(u),Y_(u), which were calculated in accordance with Eqs. (4c) through (4f).Further, the processor 104 determines every ΔT seconds whether thefollowing hold:

    x.sub.rd ≧Δx.sub.d '                          (16a)

    y.sub.rd ≧Δy.sub.d '                          (16b)

    x.sub.ru ≧Δx.sub.u '                          (16c)

    y.sub.ru ≧Δy.sub.u '                          (16d)

If the relations (16d) through (16d) are satisfied, then Δx_(d) ',Δy_(d) ', Δx_(u) ', Δy_(u) ' are delivered to the pulse interpolatorwith each lapse of ΔT seconds. If relations (16a) through (16d) are notsatisfied, on the other hand, x_(rd), y_(rd), x_(ru), y_(ru) aredelivered to the interpolator 108 to move the upper and lower guidesrelative to the workpiece.

(k) When the wire reaches the end point of the current block, or inother words, when x_(rd) =0, y_(rd) =0, x_(ru) =0, y_(ru) =0, theprocessor 104 causes the tape reader 107 to read the next block of NCdata from the NC tape 101 and repeats processing from step (c) onward.Note that when an item of NC data is "M02", which is indicative of theend of the program, wire discharge machining ends.

For linear motion, K_(f) in Eq. (7) is expressed by Eq. (8). For arcuatemotion, however, K_(f) cannot be expressed by Eq. (8). Instead, we have##EQU4## The reasons are as follows.

Let X_(d), Y_(d) represent incremental quantities along respective axesfrom the center of the circular arc for the lower guide to the startingpoint of the arc, and let X_(u), Y_(u) represent incremental quantitiesalong respective axes from the center of the circular arc for the upperguide to the starting point of the arc. When these incrementalquantities are multiplied by s (s-bit shift) and stored in the m-bitregister, followed by performing a circular arc interpolationcalculation based on the addition rates f_(n1), f_(n2) (times/second),travel quantities Δx_(d), Δy_(d) along respective axes for moving thelower guide during one second of time take on the form

    Δx.sub.d =y.sub.d ·2.sup.s ·f.sub.n1 /2.sup.m (18a)

    Δy.sub.d =x.sub.d ·2.sup.s ·f.sub.n1 /2.sup.m (18b)

and travel quantities Δx_(u), Δy_(u) along respective axes for movingthe upper guide during one second of time take on the form

    Δx.sub.u =y.sub.u ·2.sup.s ·f.sub.n2 /2.sup.m (18c)

    Δy.sub.u =x.sub.u ·2.sup.s ·f.sub.n2 /2.sup.m (18d)

Accordingly, the velocities f_(d), f_(u) of the lower and upper guides,respectively, may be written ##EQU5## where R_(d), R_(u) are the radiiof the circular arcs for the lower and upper guides, respectively.Letting L_(d), L_(u) represent the travelling distances of the lower andupper guides, respectively, and L_(f) the travelling distance in thevelocity control plane, the following will hold:

    f.sub.d /f=L.sub.d /L.sub.f, f.sub.u /f=L.sub.u /L.sub.f   (20)

Therefore, from Eqs. (19a), (19b), (20), we will have

    f.sub.n1 =(2.sup.m /R.sub.d ·2.sup.s)·f.sub.d =(L.sub.d /R.sub.d)/(2.sup.m /L.sub.f ·2.sup.s)·f (21a)

    f.sub.n2 =(2.sup.m /R.sub.u ·2.sup.s)·f.sub.u =(L.sub.u /R.sub.u)/(2.sup.m /L.sub.f ·2.sup.s)·f (21b)

Letting L_(d) /R_(d) =θ_(d) (central angle), L_(u) /R_(u) =θ_(u)(central angle), we arrive at Eqs. (17a), (17b).

The foregoing is for a case where the path data relating to the upperand lower planes of the workpiece are converted into lower and upperguide path data in accordance with Eqs. (4c) through (4f), and aninterpolation calculation is performed based on the lower and upperguide path data following the conversion to move the lower and upperguides relative to the workpiece. With this method, however, in a casewhere the commanded contours are circular arcs on the upper and lowerplanes of the workpiece and the central angles of the circular arcsdiffer, the actually cut contours will not be accurate circular arcs onthe upper and lower planes of the Workpiece but will instead be somewhattrochoidal in shape. The reasons will be described in conjunction withFIG. 14.

In FIG. 14, ARD repersents a circular arc trajectory on the plane of thelower guide, and ARU represents a circular arc trajectory on the planeof the upper guide. When the lower guide is moved from the startingpoint P_(s) of a circular arc to the end point P_(e) thereof, the upperguide also is moved from the starting point P_(s) ' of a circular arc tothe end point P_(e) ' thereof. Let (x_(d),y_(d)), (x_(u),y_(u))represent the coordinate values of intermediate points P_(m), P_(m) 'corresponding to the upper and lower guides, respectively, let θ_(d),θ_(u) represent angles to the starting points P_(s), P_(s) ',respectively, let θ, k·θ stand for angles from the starting pointsP_(s), P_(s) ' of the intermediate points P_(m), P_(m) ', respectively,and let R_(d), R_(u) be the radii of the circular arcs for the lower andupper guides, respectively. We will then have

    x.sub.d =R.sub.d ·cos (θ+θ.sub.d)

    y.sub.d =R.sub.d ·sin (θ+θ.sub.d)

    x.sub.u =R.sub.u ·cos (k·θ+θ.sub.u)

    y.sub.u =R.sub.u ·sin (k·θ+θ.sub.u)

where k=(θ_(u) /θ_(d)). Accordingly, the coordinate values x_(q), y_(q)of a partitioning point Q partitioning the line segment P_(m) P_(m) 'into a ratio m:n are as follows: ##EQU6## These Eqs, (22a), (22b)indicate that the trajectory of the partitioning point Q is trochoidalin shape.

FIG. 15 shows a processing method for a second wire electric dischargemachining method according to the present invention. According to thissecond method, the actually cut contours are accurate circular arcs onthe upper and lower planes of the workpiece, unlike the contours cutaccording to the first method. The hardware for practicing the secondmethod has the same arrangement as that shown in FIG. 5.

(a) Auxiliary data are entered from the MDI unit 102.

(b) Next, the start button on the operator's panel 106 is pressed,whereupon the processor 104 starts the tape reader to read two items ofNC data, namely the current block and the next block of data, with thedata being stored in the RAM 105.

(c) Thereafter, under the control of the control program, the processor104 obtains offset paths on the programmed plane and programmedauxiliary plane by using the wire diameter compensation quantity D,which has been stored in the RAM 105, the wire diameter compensationdirection data, which are contained in the NC data, and the path data inthe current and next blocks.

(d) At the end of offset processing, the processor calculatesincremental quantities (X_(w1), Y_(w1)), (X_(w2), Y_(w2)) along therespective axes in the programmed plane and programmed auxiliary planeif the current block calls for linear motion, or calculates incrementalquantities from circular arc starting points to circular arc end pointsand from circular arc starting points to centers of the circular arcs onthe programmed plane and programmed auxiliary plane if the current blockcalls for arcuate motion. If the current block calls for linear motionand an incremental quantity

G01XxYyUuVv;

is commanded, then incremental quantities along the respective axes arecalculated in accordance with the equations (3).

(e) Next, the processor 104 calculates, and stores in the RAM 105, theaxial incremental quantities X_(f), Y_(f) on the velocity control planein accordance with the equations (4a)-(4b).

(f) At the end of the calculations in accordance with Eqs. (4a)-(4b),the processor 104 calculates, and stores in the RAM 105, the travellingdistances L_(w1), L_(w2), L_(f) on the programmed plane, programmedauxiliary plane and velocity control plane, respectively: ##EQU7##

(g) After ca1cu1ating the travelling distances, the processor 104obtains a shift quantity s necessary for shifting the most significantbit of the largest value among L_(w1), L_(w2), L_(f) to the mostsignificant digit of the m-bit register, and stores the shift quantityin the RAM 105.

(h) Next, an addition frequency f_(n) of DDA interpolation calculationperformed in the time period ΔT is calculated in accordance with theequations (7), (8) and stored in the RAM 105.

(i) After calculating the addition frequency f_(n), the processor 104calculates, in accordance with the following equations, the travelquantities Δx_(w1), Δy_(w1), Δx_(w2), Δy_(w2) for the wire electrodeduring the period of time ΔT:

    Δx.sub.w1 =x.sub.w1 ·2.sup.s ·f.sub.n /2.sup.m (24a)

    Δy.sub.w1 =y.sub.w1 ·2.sup.s ·f.sub.n /2.sup.m (24b)

    Δx.sub.w2 =x.sub.w2 ·2.sup.s ·f.sub.n /2.sup.m (24c)

    Δy.sub.w2 =y.sub.w2 ·2.sup.s ·f.sub.n /2.sup.m (24d)

(j) Thereafter, the processor 104 uses the following equations toconvert the foregoing travel quantities along the various axes on theupper and lower planes of the workpiece in the period of time ΔT intoupper and lower guide travel quantities Δx_(d), Δy_(d), Δx_(u), Δy_(u)in the period of time ΔT:

    Δx.sub.d =Δx.sub.w1 +(Δx.sub.w2 -Δx.sub.w1) (-h/T) (25a)

    Δy.sub.d =Δy.sub.w1 +(Δy.sub.w2 -Δy.sub.w1) (-h/T) (25b)

    Δx.sub.u =(Δ.sub.w2 -Δx.sub.w1) (H-h)/T+Δx.sub.w1 ( 25c)

    Δy.sub.u =(Δy.sub.w2 -Δy.sub.w1) ·(H-h)/T+Δy.sub.w1                         (25d)

(k) When Δx_(d), Δy_(d), Δx_(u), Δy_(u) have been found, the processor104 delivers their integral portions Δx_(d) ', Δy_(d) ', Δx_(u) ',Δy_(u) ' to the pulse interpolator 108. The decimal portions Δx_(d) ",Δy_(d) ", Δx_(u) ", Δy_(u) " of Δx_(d), Δy_(d), Δx_(u), Δy_(u) arestored in the RAM 105.

(m) On the basis of the values input thereto, the pulse interpolator 108performs a pulse interpolation calculation for smoothly distributingpulses during the period of time ΔT. Interpolated pulses P_(dx), P_(dy),P_(ux), P_(uy) obtained as a result of the pulse interpolationcalculation are applied to respective servo circuits 109 through 112 torotate upper and lower guide drive motors 113DX, 113DY, 113UY, wherebythe upper and lower guides are moved relative to the workpiece. Witheach passage of the period of time ΔT, the processor 104 performs thecalculations of steps (h)-(j), updates the present positions x_(ad),y_(ad), x_(au), y_(au), which are stored in the RAM 105, on the basis ofEqs. (14a)-(14d), and updates the remaining travel quantities x_(rd),y_(rd), x_(ru), y_(ru) indicative of distances remaining to betravelled, which are stored in the RAM 105, on the basis of Eqs.(15a)-(15d). Further, the processor 104 determines every ΔT secondswhether the following hold:

    x.sub.rd ≧Δx.sub.d '                          (26a)

    y.sub.rd ≧Δy.sub.d '                          (26b)

    x.sub.ru ≧Δx.sub.u '                          (26c)

    y.sub.ru ≧Δy.sub.u '                          (26d)

If the relations (26d) through (26d) are satisfied, the processorperforms the calculations

    Δx.sub.d +Δx.sub.d "→Δx.sub.d     (27a)

    Δy.sub.d +Δy.sub.d "→Δy.sub.d     (27b)

    Δx.sub.u +Δx.sub.u "→Δx.sub.u     (27c)

    Δy.sub.u +Δy.sub.u "→Δy.sub.u     (27d)

delivers the integral portions Δ_(d) ', Δx_(d) ', Δx_(u) ', Δy_(u) ' ofΔx_(d), Δy_(d), Δx_(u), Δy_(u) to the pulse interpolator 108, and storesthe decimal portions Δx_(d) ", Δy_(d) ", Δx_(u) ", Δy_(u) " thereof asnew decimal portions in the RAM 105.

If relations (26a) through (26d) are not satisfied, on the other hand,x_(rd), y_(rd), x_(ru), y_(ru) are delivered to the interpolator 108.

(k) When the wire electrode reaches the end point of the current block,or in other words, when x_(rd) =0, y_(rd) =0, x_(ru) =0, y_(ru) =0, theprocessor 104 causes the tape reader 107 to read the next block of NCdata from the NC tape 101 and repeats processing from step (c) onward.Note that when an item of NC data is "M02", which is indicative of theend of the program, wire discharge machining ends.

It should be noted that the processing from step (f) onward of thesecond wire electric discharge machining method can also be performed inthe following manner:

(1) The velocities f_(w1), f_(w2) of the wire electrode on theprogrammed plane and programmed auxiliary plane, respectively, relativeto the workpiece are found from the equations

    f.sub.w1 =f·L.sub.w1 /L.sub.f

    f.sub.w2 =f·L.sub.w2 /L.sub.f

(2) Next, interpolation calculations are performed along two axessimultaneously on the programmed plane using X_(w1), Y_(w1), f_(w1) and,at the same time, interpolation calculations are performed along twoaxes simultaneously on the programmed auxiliary plane using X_(w2),Y_(w2), f_(w2). The calculations of Eqs. (25a)-(25d) are performedwhenever an interpolation pulse is generated.

(3) Thereafter, the lower and upper guides are moved along therespective axes by amounts equivalent to the integral portions Δx_(d) ',Δy_(d) ', Δx_(u) ', Δy_(u) ' of Δx_(d), Δy_(d), Δx_(u), and the decimalportions Δx_(d) ", Δy_(d) ", Δx_(u) ", Δy_(u) " are stored as newdecimal portions.

(4) This is followed by performing the calculations of Eqs. (25a)-(25d)whenever an interpolation pulse is generated, performing thecalculations of Eqs. (27a)-(27d), similarly delivering the integralportions Δx_(d) ', Δy_(d) ', Δx_(u) ', Δy_(u) ' of Δx_(d), Δy_(d),Δx_(u), Δy_(u) to the pulse interpolator 108, and storing the decimalportions Δx_(d) ", Δy_(d) ", Δx_(u) ", Δy_(u) ".

(5) Thereafter, similar processing is performed and, when the wireelectrode arrives at the end point of the current block, the next itemof NC data is read.

With this third method, however, the wire electrode advances while beingmoved back and forth in the direction of advance. The disadvantageousresult is a slight decline in machining precision. The reasons for thiswill now be described.

As shown in FIG. 16, let us consider a case where the workpiecethickness T, the distance h from the lower guide to the lower plane ofthe workpiece and the distance H from the lower guide to the upper guideare related by the ratio 1:1:3, with the wire electrode WR, which is ina vertical attitude, being moved one pulse at a time along the +X axisin the upper and lower planes of the workpiece. Assuming that aninterpolation pulse along the X axis on the lower plane of the workpieceis generated first by the pulse interpolation of step (2), we will havethe following from Eqs. (25a), (25c):

    Δx.sub.d =2, Δx.sub.u =-1

so that the lower guide is moved along the +X axis by an amountequivalent to two pulses and the upper guide is moved along the -X axisby an amount equivalent to one pulse (see the dotted line in FIG. 16).

Next, assuming that an interpolated pulse along the X direction on theupper plane of the workpiece is generated by the pulse interpolationoperation of step (2), we will have the following from Eqs. (25a),(25c):

    Δx.sub.d =-1, Δx.sub.u =2

so that the lower guide is moved along the -X axis by an amountequivalent to one pulse and the upper guide is moved along the +X axisby an amount equivalent to two distributed pulses (see the one-dot chainline in FIG. 16). Overall, then, the wire electrode WR moves by anamount equivalent to one pulse along the +X direction in the upper andlower planes of the workpiece. Taking note of movement of the wireelectrode in this case, it is seen that the wire electrode advanceswhile being moved back and forth in the following manner: solid lineposition → dotted line position → one-dot chain line position. Thus, thewire electrode advances while moving back and forth because the upperand lower guides are controlled each time one pulse is generated for theupper and lower planes of the workpiece. This problem does not occurwith the second wire electric discharge machining method.

In the foregoing description, it is assumed that the upper and lowerguides operate independently. However, for a structure wherein the upperguide is attached to the lower guide and moves in association therewith,the illustrated embodiment can be applied in similar fashion except thatmovement of the upper guide is represented by an amount of deviationfrom the lower guide.

Further, though it is assumed that the contours on the upper and lowerplanes of the workpiece are programmed and entered, it is obvious thatcontours on any two planes of the workpiece will suffice.

According to the present invention as set forth above, the arrangementis such that the contours to be cut in the upper and lower planes of aworkpiece are given as NC data, auxiliary data necessary for moving awire electrode relative to the workpiece are entered, and paths on theupper and lower planes of the workpiece are converted into paths ofupper and lower guides relative to the workpiece. Accordingly, tapercutting can be performed in simple fashion even if a taper varies in acontinuous manner and the contours cut in the upper and lower planes ofthe workpiece differ. In addition, an NC tape is formed from path dataspecifying the contours to be cut on the upper and lower planes of theworkpiece, and it is arranged so that such corrective data as workpiecemounting position, guide positions and amount of wire diametercompensation can be entered separately from an MDI unit. Accordingly, NCdata need not be recreated even if the auxiliary data change.

I claim:
 1. A wire electrode discharge machining method for cutting aworkpiece by moving a wire electrode relative to the workpiece andproducing an electric discharge across the wire electrode and theworkpiece, comprising the steps of:preparing and entering path dataspecifying contours on an upper and on a lower plane of the workpiece;separately preparing and entering auxiliary data including an amount ofwire diameter compensation, workpiece mounting position and guidepositions necessary for moving the wire electrode relative to theworkpiece; continuously finding first relative travel quantities(Δx_(w1), Δy_(w1) ; Δx_(w2), Δy_(w2)) of the wire electrode with respectto the upper and lower planes of the workpiece over a predeterminedperiod of time; converting said first relative travel quantities intosecond relative travel quantities (Δx_(u), Δy_(u) ; Δx_(d), Δy_(d)) ofthe upper and lower guides with respect to said workpiece by using saidauxiliary data including workpiece mounting position and guide positiondata; moving the upper and lower guides relative to the workpiece inaccordance with said second relative travel quantities; producing pulsesof a number of equivalent to integral portions of said second relativetravel quantities to move the uppr and lower guides relative to theworkpiece; and correcting subsequent second relative travel quantitiesof the upper and lower guides with respect to the workpiece by decimalportions of the present second relative travel quantities.